#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h> 
#include <wait.h>


unsigned int Count=0;

void Process_Parent(void)
{
	while(1){
		Count++;
		printf("P=%d\n", Count);
		sleep(1);
	}
}

void Process_Child(void)
{
	while(1){
		Count--;
		printf("C=%d\n", Count);
		sleep(1);
	}
}


int main( int argc, const char* argv[] )
{
	pid_t pid;
	
	pid=fork(); //자식 프로세스를 생성한다.
	
	switch(pid){
	case -1:
		//자식 프로세스 생성 실패
		printf("fork() Fail\n");
		return -1;
	case 0:
		//자식 프로세스 임
		printf("Child Process\n");
		Process_Child();
		exit(1); //본 프로세스 종료
	default:
		//부모 프로세스 임
		printf("Parent Process, Child PID=%d\n", pid);
		Process_Parent();
		wait(NULL); //자식 프로세스가 종료될 때까지 대기
	}
	
	return -1;	
}




